{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 3 Artist 模块\n",
    "\n",
    "Matplotlib应用接口包含三层：FigureCanvas、Renderer和Artist。其中FigureCanvas是绘制图形时的作用区域；Renderer知道怎么在FigureCanvas上画图；Artist知道怎么使用render在画布谁给你绘制图形。FigureCanvas和render负责处理底层工具包交换信息的细节。Artist模块在更高的层次上绘制图形，如文本、线条等。一般用户95%的时间都在使用Artist模块上进行工作。\n",
    "\n",
    "## 3.1 Artist 模块概述\n",
    "\n",
    "1. 基本Artist\n",
    "  在画布上绘制的标准元素对象，如Line2D、Rectangle、Text、AxesImage等。\n",
    "2. 容器Artist\n",
    "  是用来存放上面元素的，如 Axes、Axies、Figure等。\n",
    "在使用subplot()函数添加子图的时候，会自动创建一个Figure实体。\n",
    "\n",
    "绘图步骤：\n",
    "  - 使用figure()床架一个Figure实体\n",
    "  - 使用这个实体创建一个或者对个Axes或者Subplot实体。\n",
    "  - 使用Axes实体的方法来创建基本的图形元素"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib as mpl\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure()\n",
    "ax = fig.add_subplot(2, 1, 1)  #2行 1列 第一张子图"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Axes是Matplotlib应用层最重要的对象，大多数时间多会用到它。Axes有很多函数（如plot()、text()、his()、imshow()等）来创建一些基本的图形元素（Line2D、Rectangle、Text）。大家比较熟悉的subplot()函数其实就是Axes的一个特例，它用于创建一个规则的Subplot实体。如果想创建一个任意位置的Axes，则可以使用add_axes()函数，并传递一个表示图形相对位置的列表作为参数。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig2 = plt.figure()\n",
    "ax2 = fig2.add_axes([0.15, 0.1, 0.7, 0.3])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "ax是fig.add_subplot()函数创建的一个Axes实体。在使用ax.plot()函数的时候会创建一个Line2D实体，并把它放到Axes.lines列表中。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "t = np.arange(0.0, 1.0, 0.01)\n",
    "s = np.sin(2*np.pi*t)\n",
    "line, = ax.plot(t, s, color=\"blue\", lw=2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7f8366635390>]"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ax.lines"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.lines.Line2D at 0x7f8366635390>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "line"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "可以使用下面的任意一种方式删除实体。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "del ax.lines[0]\n",
    "#ax.lines.remove(line)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Axes对象包含一些其他函数来装饰x、y轴，比如坐标标签、标记等。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "xtext = ax.set_xlabel('my xlabel')  #返回一个Text实体\n",
    "ytext = ax.set_ylabel('my ylabel')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(Text(0.5, 3.200000000000017, 'my xlabel'),\n",
       " Text(3.200000000000003, 0.5, 'my ylabel'))"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "xtext, ytext"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "当调用ax.set_xlabel()函数的时候，它会把文本信息传递到Axes容器当中。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.font_manager as fm\n",
    "font = fm.FontProperties(fname=\"/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf\")\n",
    "\n",
    "fig = plt.figure()\n",
    "fig.subplots_adjust(top=0.8)\n",
    "ax1 = fig.add_subplot(211)\n",
    "ax1.set_ylabel('dependent variable', fontproperties=font)\n",
    "ax1.set_title('wave', fontproperties=font)\n",
    "t = np.arange(0.0, 1.0, 0.01)\n",
    "s = np.sin(2*np.pi*t)\n",
    "line, = ax1.plot(t, s, color='blue', lw=2)\n",
    "np.random.seed(19680801) # 随机数种子\n",
    "ax2 = fig.add_axes([0.15, 0.1, 0.7, 0.3]) # 添加一个axes对象\n",
    "# 使用hist函数绘制图形\n",
    "n, bins, patches = ax2.hist(np.random.randn(1000), 50, facecolor='yellow', edgecolor='yellow')\n",
    "ax2.set_xlabel('time(s)', fontproperties=font)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3.2 Artist 的属性\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "ax = plt.subplot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "    adjustable = box\n",
      "    agg_filter = None\n",
      "    alpha = None\n",
      "    anchor = C\n",
      "    animated = False\n",
      "    aspect = auto\n",
      "    autoscale_on = True\n",
      "    autoscalex_on = True\n",
      "    autoscaley_on = True\n",
      "    axes_locator = None\n",
      "    axisbelow = line\n",
      "    children = [<matplotlib.spines.Spine object at 0x7f8366635cf8...\n",
      "    clip_box = None\n",
      "    clip_on = True\n",
      "    clip_path = None\n",
      "    contains = None\n",
      "    data_ratio = 1.0\n",
      "    default_bbox_extra_artists = [<matplotlib.spines.Spine object at 0x7f8366635cf8...\n",
      "    facecolor = (1.0, 1.0, 1.0, 1.0)\n",
      "    fc = (1.0, 1.0, 1.0, 1.0)\n",
      "    figure = Figure(432x288)\n",
      "    frame_on = True\n",
      "    geometry = (1, 1, 1)\n",
      "    gid = None\n",
      "    gridspec = GridSpec(1, 1)\n",
      "    images = <a list of 0 AxesImage objects>\n",
      "    in_layout = True\n",
      "    label = \n",
      "    legend = None\n",
      "    legend_handles_labels = ([], [])\n",
      "    lines = <a list of 0 Line2D objects>\n",
      "    navigate = True\n",
      "    navigate_mode = None\n",
      "    path_effects = []\n",
      "    picker = None\n",
      "    position = Bbox(x0=0.125, y0=0.125, x1=0.9, y1=0.88)\n",
      "    rasterization_zorder = None\n",
      "    rasterized = None\n",
      "    renderer_cache = <matplotlib.backends.backend_agg.RendererAgg objec...\n",
      "    shared_x_axes = <matplotlib.cbook.Grouper object at 0x7f83705b8ba8...\n",
      "    shared_y_axes = <matplotlib.cbook.Grouper object at 0x7f837058b4e0...\n",
      "    sketch_params = None\n",
      "    snap = None\n",
      "    subplotspec = <matplotlib.gridspec.SubplotSpec object at 0x7f836...\n",
      "    title = \n",
      "    transform = IdentityTransform()\n",
      "    transformed_clip_path_and_affine = (None, None)\n",
      "    url = None\n",
      "    visible = True\n",
      "    window_extent = TransformedBbox(     Bbox(x0=0.125, y0=0.125, x1=0...\n",
      "    xaxis = XAxis(54.000000,36.000000)\n",
      "    xaxis_transform = BlendedGenericTransform(     CompositeGenericTrans...\n",
      "    xbound = (0.0, 1.0)\n",
      "    xgridlines = <a list of 6 Line2D xgridline objects>\n",
      "    xlabel = \n",
      "    xlim = (0.0, 1.0)\n",
      "    xmajorticklabels = <a list of 6 Text xticklabel objects>\n",
      "    xminorticklabels = <a list of 0 Text xticklabel objects>\n",
      "    xscale = linear\n",
      "    xticklabels = <a list of 6 Text xticklabel objects>\n",
      "    xticklines = <a list of 12 Line2D xtickline objects>\n",
      "    xticks = [0.  0.2 0.4 0.6 0.8 1. ]\n",
      "    yaxis = YAxis(54.000000,36.000000)\n",
      "    yaxis_transform = BlendedGenericTransform(     BboxTransformTo(     ...\n",
      "    ybound = (0.0, 1.0)\n",
      "    ygridlines = <a list of 6 Line2D ygridline objects>\n",
      "    ylabel = \n",
      "    ylim = (0.0, 1.0)\n",
      "    ymajorticklabels = <a list of 6 Text yticklabel objects>\n",
      "    yminorticklabels = <a list of 0 Text yticklabel objects>\n",
      "    yscale = linear\n",
      "    yticklabels = <a list of 6 Text yticklabel objects>\n",
      "    yticklines = <a list of 12 Line2D ytickline objects>\n",
      "    yticks = [0.  0.2 0.4 0.6 0.8 1. ]\n",
      "    zorder = 0\n"
     ]
    }
   ],
   "source": [
    "mpl.artist.getp(ax)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "最大的容器是matplotlib.figure.Figure，它包含图形的所有元素。当使用add_subplot()或者add_axes()方法的时候，这些对象会被加入到Figure.Axes中 ；在使用方法创建他们的时候，它们会作为方法的返回值返回。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure()\n",
    "ax1 = fig.add_subplot(211)\n",
    "ax2 = fig.add_axes([0.1, 0.1, 0.7, 0.3])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(<matplotlib.axes._subplots.AxesSubplot at 0x7f836646a4a8>,\n",
       " <matplotlib.axes._axes.Axes at 0x7f836648d940>)"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ax1, ax2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[<matplotlib.axes._subplots.AxesSubplot object at 0x7f836646a4a8>, <matplotlib.axes._axes.Axes object at 0x7f836648d940>]\n"
     ]
    }
   ],
   "source": [
    "print(fig.axes)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "for ax in fig.axes:\n",
    "    ax.grid(True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "matplotlib.axes.Axes是 matplotlib 的核心，它包含了图形的多数元素。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "rect = ax.patch  #矩形实体\n",
    "rect.set_facecolor('green')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0.0, 0.5019607843137255, 0.0, 1.0)"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ax.get_facecolor()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "当使用plot()函数的时候会创建线条实体。并且将这个线条实体添加到Axes.lines容器中，以及返回这个线条实体。 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "x, y = np.random.rand(2, 100)\n",
    "line, = ax.plot(x, y, \"-\", color=\"blur\", lw = 2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "像bar()一类函数会创建一系列矩形，并添加到Axes.patches中。 "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "matplotlib.axes.Tick是最小的容器，它包含标记、标记线和标记位置。可以设置坐标轴标记的颜色和位置。 "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 4 使用pandas绘图\n",
    "\n",
    "pandas把Matplotlib的一些基础绘图功能包裹起来，提供了简捷的接口；并且pandas的数据结构包含标签和索引信息。\n",
    "\n",
    "序列和边框都有一个plot()函数。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f83663ee160>"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "ts = pd.Series(np.random.randn(1000))\n",
    "index = pd.date_range('1/1/2000', periods=1000)\n",
    "\n",
    "#累计求和\n",
    "ts = ts.cumsum()\n",
    "ts.plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "数据框的plot()在一张子图上绘制多个线条。 图例根据各列数据自动生成。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f83663168d0>"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df = pd.DataFrame(np.random.randn(1000, 4), index = ts.index, columns=list('ABCD'))\n",
    "df = df.cumsum()\n",
    "df.plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "柱状图。 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>1</th>\n",
       "      <th>2</th>\n",
       "      <th>3</th>\n",
       "      <th>4</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>A</td>\n",
       "      <td>0.679367</td>\n",
       "      <td>0.560769</td>\n",
       "      <td>0.665517</td>\n",
       "      <td>0.974464</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>B</td>\n",
       "      <td>0.100272</td>\n",
       "      <td>0.766536</td>\n",
       "      <td>0.214854</td>\n",
       "      <td>0.896484</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>C</td>\n",
       "      <td>0.409959</td>\n",
       "      <td>0.118137</td>\n",
       "      <td>0.487354</td>\n",
       "      <td>0.654834</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>D</td>\n",
       "      <td>0.585841</td>\n",
       "      <td>0.251351</td>\n",
       "      <td>0.351758</td>\n",
       "      <td>0.758968</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>E</td>\n",
       "      <td>0.426331</td>\n",
       "      <td>0.937288</td>\n",
       "      <td>0.803024</td>\n",
       "      <td>0.715998</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          1         2         3         4\n",
       "A  0.679367  0.560769  0.665517  0.974464\n",
       "B  0.100272  0.766536  0.214854  0.896484\n",
       "C  0.409959  0.118137  0.487354  0.654834\n",
       "D  0.585841  0.251351  0.351758  0.758968\n",
       "E  0.426331  0.937288  0.803024  0.715998"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.DataFrame(np.random.rand(5, 4), index = list(\"ABCDE\"), columns=pd.Index(list('1234')))\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f83662b2240>"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df.plot(kind=\"bar\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "箱图。直观的看数据范围。 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    0.563602\n",
       "1    0.542605\n",
       "2    0.384100\n",
       "3    0.355232\n",
       "4    0.216324\n",
       "5    0.801443\n",
       "6    0.379366\n",
       "7    0.337925\n",
       "8    0.674523\n",
       "9    0.857754\n",
       "Name: A, dtype: float64"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.Series(np.random.rand(10), name=\"A\")\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f836624d550>"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df.plot.box()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>A</th>\n",
       "      <th>B</th>\n",
       "      <th>C</th>\n",
       "      <th>D</th>\n",
       "      <th>E</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>0.773456</td>\n",
       "      <td>0.799743</td>\n",
       "      <td>0.807628</td>\n",
       "      <td>0.223832</td>\n",
       "      <td>0.423231</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>0.733535</td>\n",
       "      <td>0.486238</td>\n",
       "      <td>0.975912</td>\n",
       "      <td>0.687537</td>\n",
       "      <td>0.700237</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>0.636907</td>\n",
       "      <td>0.314064</td>\n",
       "      <td>0.561459</td>\n",
       "      <td>0.427361</td>\n",
       "      <td>0.699711</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>0.653825</td>\n",
       "      <td>0.046649</td>\n",
       "      <td>0.243906</td>\n",
       "      <td>0.151479</td>\n",
       "      <td>0.834677</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>0.227334</td>\n",
       "      <td>0.049894</td>\n",
       "      <td>0.452812</td>\n",
       "      <td>0.251763</td>\n",
       "      <td>0.407205</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>5</td>\n",
       "      <td>0.741242</td>\n",
       "      <td>0.963882</td>\n",
       "      <td>0.056728</td>\n",
       "      <td>0.066314</td>\n",
       "      <td>0.493951</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>6</td>\n",
       "      <td>0.866557</td>\n",
       "      <td>0.573539</td>\n",
       "      <td>0.543373</td>\n",
       "      <td>0.774891</td>\n",
       "      <td>0.690933</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>7</td>\n",
       "      <td>0.531032</td>\n",
       "      <td>0.668578</td>\n",
       "      <td>0.954497</td>\n",
       "      <td>0.246051</td>\n",
       "      <td>0.406529</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>8</td>\n",
       "      <td>0.745300</td>\n",
       "      <td>0.532699</td>\n",
       "      <td>0.414407</td>\n",
       "      <td>0.741283</td>\n",
       "      <td>0.817129</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>9</td>\n",
       "      <td>0.531810</td>\n",
       "      <td>0.862311</td>\n",
       "      <td>0.781229</td>\n",
       "      <td>0.769566</td>\n",
       "      <td>0.044764</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          A         B         C         D         E\n",
       "0  0.773456  0.799743  0.807628  0.223832  0.423231\n",
       "1  0.733535  0.486238  0.975912  0.687537  0.700237\n",
       "2  0.636907  0.314064  0.561459  0.427361  0.699711\n",
       "3  0.653825  0.046649  0.243906  0.151479  0.834677\n",
       "4  0.227334  0.049894  0.452812  0.251763  0.407205\n",
       "5  0.741242  0.963882  0.056728  0.066314  0.493951\n",
       "6  0.866557  0.573539  0.543373  0.774891  0.690933\n",
       "7  0.531032  0.668578  0.954497  0.246051  0.406529\n",
       "8  0.745300  0.532699  0.414407  0.741283  0.817129\n",
       "9  0.531810  0.862311  0.781229  0.769566  0.044764"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.DataFrame(np.random.rand(10, 5), columns=list('ABCDE'))\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f83664f5160>"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df.boxplot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
